1. Technical Field
The present invention is directed to data processing systems. More specifically, the present invention is directed to a method, apparatus, and computer program product for identifying selected applications by utilizing a single bit in network packet frames generated by the applications where the bit is already defined by the communications protocol.
2. Description of Related Art
Fibre Channel is a high performance serial interconnect standard designed for bi-directional, point-to-point communications between servers, storage systems, workstations, switches, and hubs. It offers a variety of benefits over other link-level protocols, including efficiency and high performance, scalability, simplicity, ease of use and installation, and support for popular high level protocols.
Fibre channel employs a topology known as a “fabric” to establish connections (paths) between ports. A fabric is a network of switches for interconnecting a plurality of devices without restriction as to the manner in which the switches can be arranged. A fabric can include a mixture of point-to-point, circuit switched, and arbitrated loop topologies.
In Fibre channel, a path is established between two nodes where the path's primary task is to transport network packets from one point to another at high speed with low latency, performing only simple error correction in hardware. The fibre channel switch provides flexible circuit/packet switched topology by establishing multiple simultaneous point-to-point connections. Because these connections are managed by the switches or “fabric elements” rather than the connected end devices or “end nodes”, fabric traffic management is greatly simplified from the perspective of the device.
As storage area networks (SANs) grow in size, in terms of the number of switches in the configuration and the link distances to be supported, it becomes necessary to continuously monitor SAN performance and make corresponding adjustments to the SAN on an ongoing basis. A SAN may be implemented utilizing a Fibre channel fabric to transmit network packets among the various nodes in the SAN. In order to support such performance monitoring, it is not only necessary for applications that use the SAN to monitor performance metrics such as end-to-end transfer time, but it is also necessary for the SAN itself to monitor performance of internal SAN components. The information obtained from this form of monitoring is important for the user in assuring that goals and objectives of critical workloads are being achieved. For example, there can be congestion among cascaded switches in the SAN that causes frame traffic to be delayed and queue depths to increase.
In order to make the proper adjustments to maintain or improve SAN performance, the SAN components in which delays are occurring need to be identified as well as the processes that may be overloading the SAN and causing delays. To do this, it is desirable to have performance data collected on selected groups of network frames that are traversing the SAN, such as all network frames that were generated by selected applications. However, there is no way for the SAN to identify the application that generated a particular frame. Thus, it is not possible for the SAN to collect data on a per-application basis.
One prior method of solving this problem has been to modify the protocol's definition of a frame header to add a new group parameter to the definition. The group parameter would have to be implemented utilizing multiple bits that are added to the definition of the standard frame header. This group parameter could then be used to identify a particular application or a group of applications.
This method has serious disadvantages. The method requires multiple bits. For example, six bits would be required to identify 64 different applications or application groups. This method would require the extension of the current frame header which would result in fundamental changes to existing hardware or would cause interoperability issues when attaching old hardware to new hardware that implemented the six-bit extension. This method would result in the increase of the link bandwidth consumed by frame headers and a corresponding decrease in the available bandwidth for application data. In addition, to support 64 applications or application groups would mean that switches in the fabric would have to reserve space to accommodate an additional 64 counters per metric.
Therefore, a need exists for a method, apparatus, and computer program product for identifying selected applications or application groups utilizing a single bit in the communications frames generated by the applications where the bit has already been defined by the standard communications protocol.